Known controllers, for IoT devices, provide two types of interfaces. A first type that is very customizable, but which is accessible only to the expert software engineer. A second type that is very limited in its range of inputs, but which is usable by a person with essentially no ability to program. The limitations of the second type of interface severely restrict the level of adaptability that can be provided, by IoT controllers, without resort to the first type of interface, and the extremely high costs involved in the production of fully-custom software.
Accordingly there is a need for IoT controllers that provide greater adaptability than the second type of interface, while still avoiding the cost level of the first interface type.